--pull xmlFileName
use arg xmlFileName
rexxObject=.saxHandler~new
rexxProxy=BsfCreateRexxProxy(rexxObject)
objArray=bsf.createArray(bsf.loadClass("java.lang.Object"), 1)
objArray[1]="org.xml.sax.ContentHandler"
javaProxy =rexxProxy~newJavaProxyInstance(objArray)
rexxObject2=.dtdh~new
rexxProxy2=BsfCreateRexxProxy(rexxObject2)
objArray2=bsf.createArray(bsf.loadClass("java.lang.Object"), 1)
objArray2[1]="org.xml.sax.DTDHandler"
javaProxy2=rexxProxy2~newJavaProxyInstance(objArray2)
parser=bsf.loadClass("org.xml.sax.helpers.XMLReaderFactory")~createXMLReader
parser~setContentHandler(javaProxy)
parser~setDTDHandler(javaProxy2)
parser~parse(xmlFileName)
-- --------------
::requires BSF.CLS
::class "dtdh"
::method unparsedEntityDecl
use arg name, publicId, systemId, notationName
say pp(.bsf~new("java.lang.String", name, publicId, systemId, notationName)~toString)
::method notationDecl
use arg name, publicId, systemId
say pp(.bsf~new("java.lang.String", name, publicId, systemId)~toString)
::class "saxHandler"
::method characters
use arg textCharArray, start, length
say pp(.bsf~new("java.lang.String", textCharArray, start, length)~toString)
::method processingInstruction
use arg target, data
say pp(.bsf~new("java.lang.String", target, data )~toString)
::method ignorableWhitespace
use arg ch, start, length
say pp(.bsf~new("java.lang.String", ch, start, length)~toString)
say ignoreable
::method startDocument
say pp(this is the start)
::method endDocument
say pp(this is the end)
::method unknown